Current application development tools may require a developer to design separate user interfaces for each orientation of each physical screen size that an application can be displayed on. For example, if a developer wants to create an application that can be displayed on a first smartphone device, a second smartphone device, a first mobile tablet device, and a second mobile tablet device, the developer may be required to create four separate user interface flows for each orientation of each device. Then if the developer later wants to introduce changes to the user interface across all devices, the developer must manually and separately apply the changes to each of the user interface workflows.
One implementation of a development environment enables an adaptive user interface by providing abstracted size class values that enable a developer to define user interfaces that adapt to abstracted dimensional components. While abstracted size classes can be used to enable adaptive user interfaces, the abstracted size classes may not have a concrete connection with actual devices on which the user interface is to appear.